package com.yidu.service.impl;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.aspectj.weaver.ast.Var;
import org.springframework.stereotype.Service;

import com.yidu.comment.Tools;
import com.yidu.dao.SnBomMapper;
import com.yidu.model.SnBom;
import com.yidu.model.SnProDetail;
import com.yidu.service.SnBomService;
/**
 * 物料清单实现类
 * @author chensituo
 * @date 2018年12月2日 下午11:43:47
 */
@Service
public class SnBomServiceImpl implements SnBomService{
	/**
	 * 注入物料清单mapper
	 */
	@Resource
	SnBomMapper bomMapper;

	@Override
	public List<SnProDetail> findAll(Map<String, Object> maps) {
		//查询所有
		return bomMapper.findAll(maps);
	}

	@Override
	public int findCount(Map<String, Object> maps) {
		//查询行数
		return bomMapper.findCount(maps);
	}

	@Override
	public int addOrUpdate(String sum, String comId, String bomCommont) {
		//调用根据商品id查询物料清单集合的方法
		int row=0;
		List<SnBom> list=bomMapper.findByComId(comId);
		//判断集合是否为空
		if (Tools.isEmpty(list)) {
			row=1;
		}else {
			//遍历
			for (SnBom snBom : list) {
				//调用根据id删除的方法
				row=bomMapper.deleteByPrimaryKey(snBom.getBomId());
				if(row==0) {
					break;
				}
			}
		}
		
		
		int rows=0;
		//将字符串根据@号拆分
		String [] arr=sum.split("@");
		//遍历
		for (String string : arr) {
			//根据，号拆分
			String[] str=string.split(",");
			//创建物料清单对象
			SnBom bom=new SnBom();
			//将数据封装
			bom.setBomId(Tools.getDateOrderNo());
			bom.setComId(comId);
			bom.setMaId(str[0]);
			bom.setBomNumber(Integer.valueOf(str[1]));
			bom.setBomComment(bomCommont);
			bom.setIsva(1);
			bom.setOptime(Tools.getCurDateTime());
			bom.setSort(Integer.valueOf(Tools.getTimeStamp()));
			//调用增加的方法
			rows=bomMapper.insertSelective(bom);
			if(rows==0) {
				break;
			}
		}
		if(row==1 && row==1) {
			return 1;
		}else {
			return 0;
		}
		
	}

	@Override
	public int delete(String bomId) {
		SnBom bom=bomMapper.selectByPrimaryKey(bomId);
		bom.setIsva(0);
		return bomMapper.updateByPrimaryKeySelective(bom);
	}

	@Override
	public List<SnBom> findByComId(String comId) {
		return bomMapper.findByComId(comId);
	}
}
